1. Field of Disclosed Subject Matter
This disclosure relates to systems and methods for implementing dynamic user intent-based finisher options in image forming and document handling systems.
2. Related Art
Complex image forming systems combine image forming processes and associated media handling and finishing processes. In the field of image forming devices, very complex production-type systems for advanced image forming, and the associated media handling, have been, and continue to be, developed and deployed. These complex image forming systems may include, for example, multiple stages of image processors with a plurality of feeder devices and a number of finishing devices. Image receiving media flow through these complex image forming (and media handling) systems via multiple paths in an intricate and variable manner according to a particular image forming operation requested by a user and carried out by the complex image forming and finishing systems.
An ordering of the multiple devices in these complex image forming systems can be changed. Individual devices are reordered or replaced in a particular complex image forming system for myriad reasons. As a result, imaging and image receiving media flow paths through the complex image forming systems can be changed and can often become confused. In many instances, a result of this confusion is that image forming errors and/or finishing errors occur. Images can be printed upside down, on a wrong side of the paper, or not in a pre-printed form as a user intended. When a pre-printed form is loaded incorrectly, the overlaying image is oriented incorrectly. This can be corrected in a number of ways. The loading of the pre-printed form could be changed to a certain orientation in three dimensions. Otherwise, the complex document handling and image forming system may be made to comprehend the orientation “error” and, for example, rotate the image independently to match the orientation of the pre-printed form. One modifies the orientation of the image receiving medium, while the other modifies image orientation. Finishing errors may include staples being placed in the wrong corner or folds being improperly applied. Image shifts can be performed in a manner that is wholly detached from an anticipated orientation of the image receiving medium resulting in an improper image shift. These errors, individually or collectively, produce outputs from the complex document handling and image forming systems that are not the finished product that the user expects, leading to customer dissatisfaction.
What is not clear to the common user of the complex image forming system, but is common knowledge to those of skill in the art, is that any particular imaging task or job requested by a user includes multiple individual imaging and media handling operations, each according to a specified orientation. An exemplary and non-exhaustive list of individual imaging operations includes scaling or sizing, translation or image shift, mirroring or reflecting, and rotation of images in two dimensions and of image receiving media in three dimensions. Each individual image processing and/or media handling component that is included as a portion of a particular complex imaging forming system may carry out individual tasks with a particular flow of the images and the image receiving media through that individual component that cannot be changed.
Difficulties often arise in that an order of individual image forming operations is non-commutative. As such, certain manipulation of the order of the operations, including adding additional steps, could be undertaken to produce a repeatable output based on an ordering of the operations. This manipulation can make the outcome of the operations repeatable. Stated differently, any change in the order of these operations as a set of transformations will typically result in a different output unless modified in some manner that may or may not be available to the system designer and/or programmer.
The above difficulties can be compounded based on conventional approaches to programming of the individual devices and specifically characterizing orientations of images and image receiving media within that programming. The characterizations of orientations of images and image receiving media in the programming of conventional systems are generally viewed, and therefore provided, in a descriptive or narrative form. When programs are written in, for example, C code or C++, rather than characterizing the image orientations according to any common and manipulable mathematical framework, descriptive terms (or enumerations) are employed. These may include, for example, descriptors such as “faceup” or “facedown,” and “inboard” or “outboard.” With regard to raster orientations, similar descriptive terms are used such as, for example, “slow scan” and “fast scan.” In finishing devices, these descriptive terms may include specification, for example, of stapling being directed to an “upper left” corner of a document. These descriptive terms may be generally understood and tracked in the context of a single simple image forming device. Interpretation of these descriptive terms, however, across different devices that make up a complex image forming system tends to be inconsistent and therefore haphazard.
Individual component devices with the complex image forming system operate according to their own default coordinate spaces in two dimensions for imaging and in three dimensions with regard to image receiving medium orientations. The system designer and/or programmer must piece together individual component devices s of the complex image forming system initially according to a complex iterative trial and error process in order to provide a complex image forming system in which a user obtains an output from his or her requested imaging job according to the user's desires. For example, if a sheet of image receiving media goes through a complex system, and at the output of the complex system, the image is upside down, or otherwise not in the desired or expected orientation, the system designer and/or programmer may add a rotation to account for this discrepancy. There will be instances, however, where the addition of such steps in not possible.
Once this complex iterative trial and error method is completed for a particular complex system, the system designer and/or programmer is not finished. The schemes that result from the trial and error process remain very fragile. Even slight changes in operations can cripple the correctness of the solution. When a particular component in the complex image forming system is replaced, the process must be repeated, often again in a trial and error manner, in order to obtain a repeatable outcome that is according to the user's desires. In other words, any slight change in configuration for the system generally renders all of a previous trial and error effort to determine a correct scheme a nullity. The system programmer must, in many cases, essentially start over from scratch.
Specifically in finishers, a user may wish to specify that stapling occurs in, for example, the upper left corner. Complex image forming systems may, however, include multiple finishers. Specification of the upper left corner may result in different, and often wrong, finishing based on the orientation of the image receiving medium as it flows through the complex image forming system and is presented to the finisher. In other words, the finisher is stupid. The finisher will always recognize upper left corner with respect to its own internal and device-specific default frame of reference. If the sheet of image receiving medium is rotated as it travels through the complex image forming system and arrives at the finisher rotated 90°, 180°, or 270°, from the orientation that the finisher expects, the finisher generally will not recognize any of these differing orientations. The outcome of this failure in recognition is that the finishing operation, i.e., the stapling in this example, will be undertaken by the finisher according to the “upper left corner” as the finisher recognizes that position, which will not be as the user intended.
Finishers often operate according to specific fixed enumerations. For example, enumeration 1 may specify upper left corner. Other individual enumerations 2-4 may then specify other positions on the image receiving medium as the position that the finisher is going to act upon in carrying out its operation. These enumerations cannot be rotated according to conventional schemes as appropriate when the sheet of image receiving medium is rotated out of its desired or expected orientation according to the finisher. A user may select which of the enumerations the user desires, e.g., a position at which the user wants the document to be stapled. If the image receiving medium arrives at the finisher orthogonally rotated in some orientation different from the default orientation used by the finisher, user's intended selection is not carried out because the finisher operates on the image receiving medium in the orientation that it is presented to the finisher according to the specified enumeration. This places a tremendous burden on the software/developer that controls the system. Inflexibility leads to inflexible, finisher-specific code being developed to handle various scenarios. This “solution” becomes unmanageable and error prone quickly.
Absent smart algorithms in complex image forming systems with multiple feeders and finishers, functions that are undertaken, for example, by finishers will rely on default settings that will produce results that are not in accordance with the user's desires, or as the user “intends.” In other words, processing within device will remain device centric, rather than user centric.